//导入
const find_model=require('../../model/find_model');
//导入集合_model
const collect = require('../../model/集合_model')
//使用collect方法返回的对象
const noteModel = collect.collect();
// 导入express
var express = require('express');
// 模块化
var router = express.Router();
//导入formidable
const formidable = require('formidable');


/* 添加账本的GET路由表单 */
// 获取get请求的主页index  (新增页面)
router.get('/', function (req, res, next) {
    res.render('index', {title: '添加信息'});
});
//获取get请求的添加成功页面success (成功提示页面)
router.get('/success', function (req, res, next) {
    res.render('success', {title: '添加信息成功!!', url: '/record'});
});
//获取get请求的查询页面record    (查看添加记录页面)
router.get('/record', function (req, res, next) {
    //读取数据库中的文档对象
    find_model.find(noteModel,res);
});
//获取post请求的成功添加页面success   (新增记录)
router.post('/success', function (req, res, next) {

    // 创建form对象
    let form = formidable({
        multiples: true,
    });
    // 解析请求体报文 (获取form输入的内容)
    form.parse(req, (err, fields, files) => {
        console.log(fields)
        if (err) {
            next(err);
            return;
        }

        // 向数据库插入请求体的值
        noteModel.create({
            matter: fields.matter,
            time: fields.time,
            type: fields.type,
            money: fields.money,
            notes: fields.notes
        }, (err, data) => {
            if (err) {
                res.status(500).send('插入失败~')
                console.log(err);//如果增加报错就输出
                return;
            }
            console.log(data);
            //设置响应体
            res.render('success', {title: '信息添加成功', url: '/record'});
        });
    });
});

//删除添加的记录
router.get('/record/:id', (req, res) => {
    // 获取请求的id参数
    let id = req.params.id;
    console.log('id:'+id)
    // 删除
    noteModel.deleteOne({_id:id},(err,data)=>{
        if (err) {
            res.status(500).send('删除失败~');
            console.log('删除失败~');
            return;
        }
        console.log('删除成功~\n')
        //读取数据库
        find_model.find(noteModel,res);
    });

})


// 暴漏模块
module.exports = router;